約 6,668,240 件
https://w.atwiki.jp/katsuhiro/pages/26.html
HTTPメソッド GET情報取得メソッド POST PUT DELETEリソース削除メソッド HTTPリクエスト ポストデータ HTMLのPOST指定のformから送信されるデータ JSPのrequestオブジェクトから下記のメソッドで情報を取得できるgetParameter getParameterValues リクエストボディのセットされて送信される クエリ情報 URLの末尾の"?"以降に「キー=値」のセットで付加される簡易な情報 複数のセットがある場合は" "で連結される URLに直接指定するほか、HTMLのGET指定のformから送信されるデータ formのmethod属性が省略された場合もクエリ情報として送信される JSPのrequestオブジェクトから下記のメソッドで情報を取得できるgetParameter クエリ情報に特殊文字が含まれる場合は、あらかじめエンコードしておく必要がある(form経由の場合はエンコード不要) URLに使用可能な文字数を超えて送信できない(2,083文字)FireFoxの場合は制限が無いが、動作が遅くなる場合もあるらしい データがアドレス欄に露出してしまう ヘッダ情報 「名前: 値」形式 種類一般ヘッダ(要求/応答時双方で利用) エンティティヘッダ(コンテンツに関する情報) リクエスト(要求)ヘッダ(クライアントに関する情報) レスポンス(応答)ヘッダ(その他) JSPのrequestオブジェクトから下記のメソッドで情報を取得できるgetHeaderNames ただし、情報取得専用メソッドが存在するヘッダについてはそちらを使う ■ヘッダ例 種類 ヘッダ名 概要 一般 Cache-Control キャッシュルールを規定する Connection プロキシ(中間)サーバで削除すべきHTTPヘッダを指定 Date コンテンツ生成日時 Pragma キャッシングを利用するか(下位互換用のヘッダ) Transfer-Encoding コンテンツの転送エンコーディング方式 リクエスト Accept クライアント対応コンテンツの種類(優先順) Accept-Language クライアント対応言語(優先順) Authorization 認証情報 Cookie クライアントに保存されたクッキーデータを送信 Host 要求先ホスト名 If-Modified-Since 指定日時以降にコンテンツが更新されている場合にのみ、サーバはデータを送信 Proxy-Authorization プロキシサーバ用の認証情報 Range 要求リソース範囲 Referer リンク元URI User-Agent クライアントの種類 レスポンス ETag リソースを一意に特定するためのキー情報(コンテンツが更新されていないかどうかを特定する場合などに使用) Location クライアントに新しいURIに移動するように促す Server サーバの種類 Set-Cookie クライアントにクッキーを送信 WWW-Authenticate クライアントに認証を要求 エンティティ Content-Encoding コンテンツのエンコーディング方式 Content-Length コンテンツサイズ Content-Type コンテンツの種類 Expires コンテンツの有効期限 Last-Modified コンテンツの最終更新年月日 クッキー サーバがクライアントに対して自由に読み書きできるテキスト クッキーの有効期限負数をセットした場合、ブラウザの終了時に削除される 0をセットした場合、その場で削除される 1以上をセットすると、その秒数分保持される クッキーのデメリットクライアント側でクッキーを受け入れないように設定することが可能 クライアント側でクッキーの改竄や削除が可能 実データがネットワーク上を流れてしまう クッキーの制約1つのホスト、ドメイン当たりの最大個数は20個(総数では300個以内) クッキー1つあたりの最大サイズは4096バイト セッション情報 長期間にわたって情報を保持するには不向き ユーザがブラウザを開いている間だけアプリケーション内で情報を受け渡しする場合にはクッキーより手軽でセキュアな仕組み sessionJSPの暗黙オブジェクトの1つ 下記のメソッドを使って読み書きするgetAttribute setAttribute @pageディレクティブのsession属性がfalseの場合は使えない sessionが不要の場合はsession属性をfalseにしておく(サーバリソースの節約) sessionを使うと… クライアントからサーバにリクエスト送信 サーバからのレスポンスにSet-Cookieヘッダの値としてセッションIDが付加される(JSESSIONID) クライアントからサーバに2回目以降のリクエスト送信時、Cookieヘッダの値として、受け取ったJSESSIONIDを付加して送る サーバをそのセッションIDに該当するセッションを使って処理をし、レスポンスを返す セッションの破棄方法明示的な破棄(session.invalidate()) 有効期限を設定する(session.setMaxInactiveInteval()) web.xmlにセッションの有効期限を設定する session-config session-timeout セッションの寿命明示的に破棄されるか有効期限を過ぎない限り、クライアントを閉じてもサーバ上で生き続ける ieHTTPHeaders http //www.blunck.info/iehttpheaders/iehttpheaders.html ⇒IE上でHTTPによる通信内容をトレースするツール
https://w.atwiki.jp/memcache/pages/36.html
HTTP Header Proxy ServerWeb Debugging Proxy LINK SSL Pass-Thu HTTP Header http //www.tohoho-web.com/ex/http.htm http //web-tan.forum.impressrd.jp/e/2010/01/12/7156 Proxy Server http //howto.ysn-jp.com/tor/tor_what.php http //www.atmarkit.co.jp/fwin2k/win2ktips/031autoproxy/autoproxy.html Web Debugging Proxy Fiddler http //www.fiddler2.com/fiddler2/ LINK Studying HTTP http //www.studyinghttp.net/ Smart http //www.rfs.jp/sb/perl/03/03.html HTTPプロトコルとサーバへのリクエスト(FUJITSU) http //jp.fujitsu.com/solutions/sdas/technology/web-apl/01-http-protocol.html
https://w.atwiki.jp/0x0b/pages/89.html
ハイパーテキスト転送プロトコル RFC 2616 WebブラウザとWebサーバの間でHTMLなどのコンテンツの送受信に用いられる通信プロトコル リクエスト-レスポンス型 トランスポート・プロトコルとして通常TCPを使用 基本的な考え方は非常に単純であり「何を」「どうして」ほしいのかを相手に要求する。「何を」に当たるのがURL、「どうして」がメソッドにあたる。 World Wide WebにおけるWebページなどのリソースは、Uniform Resource Identifierによって指定される。 ポート番号80をデフォルトとして使用する(送信時は8080)。 TLSで暗号化され、セキュリティを確保したHTTPは、HTTPSと呼ばれる(httpsは実際にはURIスキームの1つであり、実際のプロトコルにはHTTP over SSL/TLSが用いられる)。 HTTP は基本的にサーバが状態を保持しない (stateless) プロトコルだが、データベースなどを使用するWebアプリケーションにおいては状態保持が必要だったため、そのためにいわゆる Cookie とよばれる機構が Netscape Communications Corporation によって導入された。Cookie を使用することによって状態を管理し、"セッション" を維持することが可能になる。 HTTPの拡張プロトコルとしてWebDAVがある。 UPnPでは、HTTPをUDP上で使用するHTTPUや、マルチキャストで使用するHTTPMUが規定された。 HTTP/0.9 URLのみの簡単なやりとり HTTP/1.0 NNTPやSMTPのような各種ヘッダが定義 HTTP_Cookieなどの利用 HTTP/1.1 複数データを転送するためのキープアライブ(keep-alive)機能やプロキシなどの利用も想定された仕様 バーチャルホストをサポートした。インターネット人気に伴い多くの企業がWebサイトを持ち始めたが、当時ではまだまだ企業が自前のWebサーバを運用するのは人員、効率の問題で難しかったためISPのサーバでホスティングをしていた。当時はまだ一社ごとに専用サーバを用意するほどのことでもないため一台のサーバで複数のWebサイトを運用していた。 しかしバーチャルホストには問題がある。例えばある1台のサーバに foo.example.com と bar.example.com という二つの仮想Webサーバがあるとする。ここではクライアントは http //foo.example.com/index.html にアクセスしたいとする。そのためにはまず foo.example.com をIPアドレスに解決するためDNSサーバに問い合わせ、そのサーバにアクセスし GET index.html を要求する。しかしサーバ側のIPアドレスは foo.example.com と bar.example.com 共におなじIPアドレスである。もし foo.example.com にも bar.example.com にも index.html というファイルが存在すればクライアントはどちらのサーバにアクセスしたのかわかるすべがない。 これを解決するにはそれぞれにIPアドレスを付与することで解決できるが、IPv4の資源を無駄にすることになる。 HTTP/1.1ではこれを解決するためにHostヘッダを追加した。 HTTP/1.0のヘッダ GET /index.html HTTP/1.0 HTTP/1.1のヘッダ GET /index.html HTTP/1.1 Host foo.example.com 動作 通信の開始 他のプロトコル同様クライアント側とサーバ側ではHTTPの役割が大きく異なる。HTTP通信を開始できるのはクライアント側のみである。 クライアント側はサーバにリクエストを送り、サーバはクライアントにレスポンスを返すのが最も典型的なHTTPのやりとりである。 接続 システム間でメッセージをやりとりするにはTCP接続を確立させる必要がある。 HTTP/0.9ではクライアントのリクエストごとにTCP接続を確立させる必要があったが、これは当時のWebサイトがシンプルなテキストベースであることが多かったためである。近年ではJavaScriptやアニメーション画像など、多数のオブジェクトが埋め込まれたWebサイトが一般的となってきているが、これら全てのオブジェクトを取得するたびにTCP接続を確立するのはサーバやネットワークに大きな負担を強いるため、HTTP/1.1では持続的接続がサポートされることとなった。ただしこの機能が利用できるのはサーバ側がその要求を許可した場合のみである。 パイプライン クライアントは前のリクエストに対するサーバの応答を待たずに別のリクエストを発行できる。 メソッド HTTPでは8つのメソッドが定義されている。ただし実際のHTTP通信ではGETとPOSTメソッドだけで殆どを占める。 HTTPメソッドの一覧 メソッド HTTP/0.9 HTTP/1.0 HTTP/1.1 GET ○ ○ ○ POST ○ ○ PUT △ ○ HEAD ○ ○ DELETE △ ○ OPTION ○ TRACE ○ CONNECT ○ GET 指定されたURIのリソースを取り出す。HTTPの最も基本的な動作で、HTTP/0.9では唯一のメソッド。 POST GETとは反対にクライアントがサーバにデータを送信するメソッドである。Webフォームや電子掲示板、Wikiなどに投稿する。GETの場合と同じくサーバはクライアントにデータを返すことができる。 PUT 指定したURIにリソースを保存する。URIが指し示すリソースが存在しない場合は、サーバはそのURIにリソースを作成する。画像のアップロードなどが代表的。 DELETE 指定したURIのリソースを削除する。 OPTION サーバを調査するメソッド。例えばサーバがサポートしているHTTPのバージョンなどを調査できる。 HEAD GETと似ているがサーバはHTTPヘッダのみ返す。クライアントはWebページを取得せずともそのWebページが存在するかどうかを知ることが出来る。例えばWebページのリンク先が生きているか検証するときなどにリンク先のデータを全て取得することなく調査することが出来る。 TRACE サーバまでのネットワーク経路をチェックできる。サーバは受け取ったメッセージのそれ自体をレスポンスのデータにコピーして応答する。WindowsのTracertやUNIXのTracerouteとよく似た動作。 CONNECT 暗号化したメッセージをプロキシで転送する際に用いる。 サーバの連携 バーチャルホスト リダイレクト 301 MovedというステータスコードとURIを受け取りクライアントはこの受け取ったURIに再度GETを送る。 クッキー(HTTP_Cookie) HTTPメッセージ クライアントからのHTTPリクエストは3つの要素から構成される。それぞれメソッド、URI、HTTPのバージョンでありスペースで区切られている。 下にもっとも単純な、クライアントとサーバ(www.google.co.jp 80)とのHTTPプロトコルのやり取りの例を挙げる。 クライアントのリクエスト GET / HTTP/1.0 GETがメソッド、URIは / 、バージョンはHTTP/1.0であることを示す。 URIは/でルートリソースを対象にしたリクエストであることを示している。TRACEなど特定のサーバを対象としないリクエストの場合には*が表示される。 サーバのレスポンス HTTP/1.0 200 OK Cache-Control private Content-Type text/html Set-Cookie PREF=ID=72c1ca72230dea65 LD=ja TM=1113132863 LM=111 3132863 S=nNO7MIp W2o7Cqeu_; expires=Sun, 17-Jan-2038 19 14 07 GMT; path=/; domain=.google.co.jp Server GWS/2.1 Date Sun, 10 Apr 2005 11 34 23 GMT Connection Close html head meta http-equiv="content-type" content="text/html; charset=Shift_JI S" title Google /title style !-- ・・・以下省略 上のリクエストのGETにあたる部分をメソッドといい、 HTTP/1.0では、GET, HEAD, PUT, POST, DELETE, LINK, UNLINK、 HTTP/1.1ではさらに、OPTIONS, TRACEがある。 GETメソッドのレスポンスにはヘッダ情報のあとに改行が挟まれ、コンテンツ本体が送られる。 HEADメソッドのレスポンスにはコンテンツサイズや更新日時などの情報を含むヘッダのみが送られる。 また、リクエストの2行目以降はヘッダを送る。 HTTPヘッダフィールド ヘッダの各要素は フィールド名 内容 のペアで構成される。 ブラウザの情報を表すUser-Agent、使用候補言語を表すAccept-Language、他ページへのリンクを辿った場合にそのリンク元ページのURLを表すRefererなどが代表的なフィールドである。 なお、リクエスト時のHostヘッダはHTTP/1.1では必須であるが、HTTP/1.0では無くても良い。 但し、サーバがバーチャルホストを利用している場合は、Hostヘッダが無いとリソース取得に失敗するので、たとえHTTP/1.0を使用していてもHostヘッダを付加しなければならない。 HTTPヘッダフィールドの一覧 リクエストヘッダ ヘッダ概要HTTP/0.9HTTP/1.0HTTP/1.1 Acceptクライアントの受け入れ可能コンテンツタイプを示す○○ Accept-Charsetクライアントの受け入れ可能文字セットを示す○○ Accept-Encodingクライアントの受け入れ可能文字エンコーディングを示す○○ Accept-Languageクライアントの受け入れ可能言語を示す○○ Authorizationクライアントの認証情報を示す○○ Cookieクライアントの状態管理情報をサーバに返す Cookie2HTTP/1.1のSet-Cookie2ヘッダの受け入れ可能をサーバに知らせる Expectクライアントがサーバに期待する動作を示す○ Fromリクエスト発行者個人の情報を示す。一般的に電子メールアドレスを使用する○○ Host要求しているオブジェクトがあるホストを示す○ If-Matchif文を用い条件が真の場合のみリクエストを処理するようサーバに要求する○ If-Modified-Since指定日及び指定時刻以降にオブジェクトが変更されている場合のみリクエストを処理するよう要求する○○ If-None-MatchIf-Matchの逆で条件が真でない場合のみリクエストを処理する要求○ If-Range条件が真の場合のみ指定したオブジェクトの範囲を返すようサーバに要求する○ If-Unmodified-SinceIf-Modified-Sinceの逆で真でないときのみ実行する○ Max-Forwardsリクエストの中間システム経由数を最大いくつまでかを指定する○ Proxy-Authorizationクライアントがプロキシサーバに対して自身の認証を行う○ Rangeオブジェクト全体でなくリソースの一部を要求する○ Refererリクエストの出所を示す。一般的にはユーザの辿ったWebページのURLが用いられる。○○ TEレスポンスの受け入れ可能転送エンコーディングを示す○ レスポンスヘッダ ヘッダ概要HTTP/0.9HTTP/1.0HTTP/1.1 Accept-Rangesオブジェクトの一部に対するリクエストをサーバが受け入れ可能か示す○ Ageオブジェクトの経過時間を秒単位で返す○ AllowオブジェクトがサポートするHTTPメソッドを示す○○ ETagオブジェクトのエンティティタグ値を示す○ Locationオブジェクトの場所を示す○○ Proxy-Authenticateプロキシサーバがクライアントに認証を要求するときに用いる○ Retry-Afterリクエストの再試行をいつ行うかをクライアントに通知する○○ Serverサーバのベンダー名、バージョン番号を占めす○○ Set-Cookie2サーバがクライアントにCookieを送信するときに用いる Varyサーバのレスポンス内容を決定する際にリクエストURI以外に使用したHTTPヘッダのリストを示す○ WWW-Authenticateクライアントに対してリクエストの再発行を要求する。認証情報も含まれる○○ 一般ヘッダ ヘッダ概要HTTP/0.9HTTP/1.0HTTP/1.1 Cache-Controlメッセージの経由する中間キャッシュの動作を指示する○ Connection中間システムが転送すべきでないヘッダのリストを示す○○ Dateメッセージの作成日時を示す○○ Pragmaメッセージに関する追加情報を示す○○ Trailerメッセージボディの後に追加のヘッダーが表れることを示す○ Transfer-Encodingクライアントの転送を目的としたオブジェクトのエンコーディングを示す○ Upgrade通信相手に別のプロトコルにアップデートするよう要求する○ User-AgentクライアントのWebブラウザなどの情報を示す○○ Warningメッセージに関する追加情報を示す。通常はキャッシュの問題を警告するときに使われる○ エンティティヘッダ ヘッダ概要HTTP/0.9HTTP/1.0HTTP/1.1 Content-Encodingオブジェクトのエンコーディングを示す○○ Content-Languageオブジェクトの言語(人間の言語)を示す○○ Content-Lengthオブジェクトのサイズをバイト単位で示す○○ Content-Locationオブジェクトの場所を示す○ Content-MD5オブジェクトのメッセージダイジェストを運ぶ○ Content-Rangeメッセージボディで運ばれるオブジェクトの範囲を示す○ Content-Typeオブジェクトのタイプを示す○○ Expiresオブジェクトの有効期限の日時を示す○○ Last-Modifiedオブジェクトが最後に変更された日時を示す○○ Accept サーバのレスポンスに含まれるメッセージボディで受け入れることが出来るコンテンツタイプと各コンテンツタイプの相対的な優先度を指定するリクエストヘッダ。指定できるコンテンツタイプはIANAによって定義されている。 Accept text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c 上記のようにAcceptヘッダには行をわけて複数のコンテンツタイプを指定できる。上記の例はいずれの4のコンテンツタイプのいずれも受け入れ可能であることを示す。0.5や0.8といった数字は品質係数で0~1の範囲の数値である。数値の指定がなければ1.0となる。 text/plain; q=0.5 text/html text/x-dvi; q=0.8 text/x-c Accept-Charset レスポンスで返されるメッセージボディの文字コードを指定するリクエストヘッダ。Acceptと同じく複数指定でき品質係数も設定できる。定義済み文字セットはIANAが管理している。 Accept-Charset unicode, *; q=0.8 この例だとクライアントはUnicode文字セットを優先的に希望しているが他の文字セットとの相対優先度0.8で受け入れている。ただしサーバからのレスポンスのHTTPヘッダそのものの文字コードは常にISO-8859-1である。 Accept-Encoding Accept-Language レスポンスの言語(人間の言語)に対する優先度を指定する。言語コードはISO-639の2文字の省略コードを用いる。書き方は他のAccept-群と変わらず。 Accept-Language en-gb, en; q=0.8 上記の例はまずイギリス英語を要求し、利用できない場合はその他の英語を要求する。 Accept-Ranges Acceptで始まる他のヘッダフィールドと違いレスポンスヘッダーである。現在の仕様では2つの指定方法しかない。 Age リソースの推定経過時間を表示するレスポンスヘッダ。キャッシュサーバーはAgeヘッダの値からキャッシュしたリソースが有効かどうかを判定する。 Allow Authentication-info ユーザ認証のやりとりの最後で用いられる、成功したレスポンスのサーバが含めることの出来るレスポンスヘッダー。 Authorization サーバに対するクライアント自身の認証を行うことが出来る。 Cache-Control キャッシングの動作を指定するためのマスターヘッダ。 Connection Content-Encoding Content-Language リソースを英語などの自然言語で示すのに使われる。言語の指定はAccept-Languageヘッダと同じ。 Content-Length Content-Location Content-MD5 メッセージボディが変更されず宛先に届くことを保証する。MD5アルゴリズムを実行する。ただし悪意の改ざんに対しては当然MD5も改ざんされるのであまり機能はしない。どちらかといえば偶発的な変更の保証をしている。 Content-Range ダウンロードの再開に用いられる。 Content-Type メッセージボディに含まれるオブジェクトタイプを示す。次の例はリソースがテキストファイル、文字セットはISO-8859-4を使用していることを示している。 Content-Type text/plain; Charset=ISO-8859-4 Cookie クライアントがHTTP状態管理を望む場合にサーバから受け取ったクッキーを以後のリクエストに次の例のようなヘッダーを付加する。 Cookie $Version="1"; NAME="VALUE"; $Path="/shopping"; $domain="www.shop.com"+ $Port="80" $VersionはHTTPのバージョン、NAMEはクッキーの名前である。$から始まるクッキー名は使用が禁止されている。 Cookie2 基本的にCookieヘッダーとCookie2ヘッダーは別物である。 Date サーバがメッセージを生成した日時を示す。リソースの時間を示すLast-Modifiedヘッダーとは区別する必要がある。 HTTP/1.1では次のような形式を用いるようRFC1123で定義されている。 Date Sun, 06, Nov 1994 08 49 37 GMT HTTP仕様ではレスポンスにDateヘッダーを含めることを求めている。ただしレスポンスのステータスがサーバエラーの場合にはDateヘッダーは返らない。 ETag 主にキャッシングのパフォーマンスを向上する目的で使われる。 Expect サーバに対して特定の動作の期待を知らせる。用途としてはクライアントがサーバに対して100 Continueステータスを返すことを期待する場合に使われる。 Expect 100-continue サーバが期待に応じれない場合は417 Expectation Failedを返す。クライアントがいくつかのプロキシ経由で通信している場合、各プロキシサーバはExpectヘッダの一切の修正を許されない。 Expires オブジェクトの有効期限を示す。このヘッダで指定された日時までキャッシュはレスポンスのコピーを保持し、リクエストに対するレスポンスとして返すことが出来る。サーバがオブジェクトのキャッシュを望まない場合にはExpiresヘッダに過去の日時を設定することが多い。また、HTTP仕様では1年以上先の日時は設定できない。 Expires Thu, 28 Aug 2010 16 00 00 GMT Cache-Controlヘッダのmax-ageディレクティブはExpiresヘッダより優先されるため注意が必要である。 From リクエストを発行したユーザを特定することが出来る。1990年代では電子メールアドレスを設定することが多かったが、迷惑メールの問題もあり現在では殆ど使われていない。 From hoge@hogehoge.com Host 主にレンタルサーバのサポートを目的としてHTTP/1.1で導入された。現在ではHostヘッダを利用できない場合レンタルサーバのウェブサイトとまともな通信が出来ないと言ってよい(詳細はHTTP#歴史を参照)。 If-Match クライアントのリクエストを条件付きのリクエストにするために使われる。サーバは一定の条件が真であった場合のみリクエストを受け入れることが出来る。例えばウィキペディアを編集する際、記事のソースを取得し、書き換える際の間に別のユーザが既に編集していないかを判断するときなどに用いられる。 「if文」も参照 利用者:HogeがHTTPの記事を取得。ETagは1234 利用者:HageがHTTPの記事を取得。ETagは1234 利用者:HogeがHTTPのETagを再度取得。先ほど取得したETag 1234と現在のETag 1234が一致。 利用者:HogeがHTTPの記事を編集。ETagは1256になる。 利用者:HageがHTTPのETagを再度取得。先ほど取得したETagと現在のETagはマッチせず。 サーバは利用者:Hageの書き込みを拒否。 If-Modified-Since このヘッダーで指定された日時以降にオブジェクトが変更されている場合のみリクエストに応答するようサーバに要求する。リソースの削減に効果がある。 If-None-Match If-Matchと逆で条件が真でない場合のみリクエストを処理するよう要求する。 If-Range クライアントがキャッシュにオブジェクトの一部分を持っている場合にパフォーマンスを向上できる。 If-Unmodified-Since If-Modified-Sinceの逆の働きをする Last-Modified サーバオブジェクトの最終更新日時を示す。クライアントはこのヘッダを利用しIf-Modified-Sinceヘッダ等と組み合わせることによって効果を発揮する。 Location サーバがクライアントにリダイレクト先URLを知らせる際に用いられる。一般的にステータスコードが3xx代のレスポンスと共に使われるが201 Createdのレスポンスでも使うことが出来る。Content-Locationヘッダと名前が似ているが全く関係のない別のヘッダであるため注意。 Max-Forwards プロキシサーバ等を経由する際の最大ホップ数を指定する。二重ループなどでサーバから応答が得られない場合の問題解決の際、OPTIONメソッドやTRACEメソッドと共に用いられる。 HTTPステータスコード ステータスコードはクライアントのリクエストが成功したかどうかを示した上で追加情報を提供するいずれも3桁の数字から成る。具体的には100-199が情報提供、200-299が成功を示す。300-399はリダイレクト、400-499はエラーを示す。 セキュリティ技術 Basic認証 HTTP/1.1でBasic認証が定義されており最も単純なセキュリティ技術である。しかし仕様書を読むと定義を書いた著者自身が認証技術に疎いことがよくわかる。『HTTPプロトコル セキュア&スケーラブルなWeb開発』の著者は「基本認証を用いるくらいならなにも使わない方がまし」と著書に書いている。通常サーバは401ステータスコードで応答する。 行末文字はWindowsと同じCRLF。 RFC 2818 - HTTP Over TLS RFC 2817 - Upgrading to TLS Within HTTP/1.1 RFC 2616 - HTTP/1.1 ハイパーテキスト転送プロトコル -- HTTP/1.1 RFC 2068 - HTTP/1.1(初版,RFC 2616 によって obsolete) TS X 0085 2004 - ハイパテキスト転送プロトコル HTTP/1.1 標準仕様書(TS) RFC 1945 - HTTP/1.0 HttpTea Freeware HTTP Logger Studying HTTP
https://w.atwiki.jp/niconico_mad/pages/26.html
http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878vvv
https://w.atwiki.jp/p-phun/pages/25.html
Click to show this page in English This page is dedicated to some good movies of Phun at Nico Nico Douga (or Nicovideo), a japanese video sharing website. The movie at the top is a promotional video made by Emil Ernerfeldt (the creator of Phun), a student of Virtual Reality Laboratory (VRlab), Umeå Univ. [NicoVideo screenshot] このページの説明(日本語) このページは、ニコニコ動画のPhun動画を見るためのページです。 通常、ニコニコ動画の閲覧にはアカウントが必要ですが、このページではアカウントを持っていない方でも動画を見ることができます。 コメントが邪魔な場合は、動画画面右下のひよこのマークをクリックすると、非表示にできます。 今のところ、基準は設けられていませんが、ここに載る動画は「best of phunと呼ぶに相応しい何か」を持っているものばかりです。 ※一番最初の紹介動画はPhunの作者であるEmil氏によるものです。 2008年02月18日 13 08 24 投稿 (contributed to NicoVideo 2008Feb18 13 08 24) ピタゴラスイッチが楽しめるソフト Phun Phun - 2D physics sandbox http //www.nicovideo.jp/watch/sm2364169 +... Comment test -- (和訳の人) 2008-05-06 16 04 11 そういえば各ページ下部にコメント欄はつけないんでしょうか? -- (arquebusier) 2008-05-13 01 35 31 そういえば各ページ下部にコメント欄はつけないんでしょうか? 私は、p-phun管理人様に一任していいと思います。 管理人様 -- (和訳の人) 2008-05-13 16 29 04 …考え直しました。やはりコメント欄はあったほうがいいですね。@wikiのシステムに詳しい方、「エンターを押しても投稿されない、かつ横幅の広いコメント欄」って作れるのでしょうか。 -- (和訳の人) 2008-05-16 01 58 51 現状では、エンターキーで改行しようとすると投稿されてしまいます。 -- (和訳の人) 2008-05-16 01 59 31 Name Comment すべてのコメントを見る 2008年02月24日 04 05 15 投稿 【phun】キャタピラの作り方 How to make a caterpillar http //www.nicovideo.jp/watch/sm2418474 2008年03月05日 03 36 16 投稿 Phunでスペースコロニーの開発 Space colony development in Phun http //www.nicovideo.jp/watch/sm2519062 2008年03月06日 10 55 57 投稿 【Phun】ニコニコスイッチ☆アイランド 総集編 Highlights of NicoNico Switch Island series http //www.nicovideo.jp/watch/sm2531465 2008年03月08日 09 41 59 投稿 Phunロケット開発支援PV「空」 "Sky" - the promotional video for rocket development in Phun http //www.nicovideo.jp/watch/sm2560301 2008年03月10日 17 48 04 投稿 Phunでリボルバー作った! I made a revolver in Phun http //www.nicovideo.jp/watch/sm2595323 2008年03月11日 01 25 25 投稿 Phunでスペースコロニーの開発4 Space colony development in Phun part 4 http //www.nicovideo.jp/watch/sm2601444 2008年03月13日 09 43 51 投稿 【Phun】で作った戦車で特殊地形を走破してみた。 I made a tank and ran a special course http //www.nicovideo.jp/watch/sm2628115 2008年03月13日 20 53 17 投稿 phun でウマウマシーン 改良型 The "caramelldansen" dance machine (modified) in Phun http //www.nicovideo.jp/watch/sm2633668 2008年03月14日 14 27 03 投稿 【プロジェクトPhun】月面着陸への挑戦 Challenge to Moon landing (English sub added) http //www.nicovideo.jp/watch/sm2641690 2008年03月15日 19 23 11 投稿 【Phun】玉入れ弥生杯まとめ動画 3/15版 The summary of "tossing balls into the box" contest (ver. March15th) http //www.nicovideo.jp/watch/sm2657546 2008年03月31日 16 52 16 投稿 【Phun】時計作ってみました。 I made a clock http //www.nicovideo.jp/watch/sm2848221 2008年04月12日 15 22 05 投稿 【Phun】でニコステポータブル(完成版?) NicoNico station portable http //www.nicovideo.jp/watch/sm2971101 2008年05月03日 23 16 07 投稿 【ニコニコ動画】Phunでデッドコースター作ってみた DEAD COASTER http //www.nicovideo.jp/watch/sm3184222
https://w.atwiki.jp/yakotest/pages/132.html
#nicovideo(http //www.nicovideo.jp/watch/sm24536934) #nicovideo(sm27965309){600,200} #nicovideo2(sm24536934) http //www.nicovideo.jp/watch/sm24536934 #nicovideo2(http //www.nicovideo.jp/watch/sm27965309,600,400) http //www.nicovideo.jp/watch/sm27965309
https://w.atwiki.jp/naobe/pages/78.html
ネットワークに戻る RFC2616概要 HTTP/1.1 RFC6265概要 HTTP状態管理機構 パーセントエンコーディング(URLエンコード) URLで意味を持つコードと混同する日本語などのバイナリや特殊記号を16進形式にして、先頭に%を付加した文字に変換する。正確に言うと、非予約文字、予約文字以外を変換する。 項目 説明 非予約文字 ASCIIのコード範囲内の英字(大文字・小文字)、数字、ハイフン “-”、ピリオド “.”、アンダースコア “_”、チルダ “~” 予約文字 URIを表す符号。ASCIIのコード範囲内のコロン “ ”、スラッシュ “/”、疑問符 “?”、シャープ “#”、角括弧 “[”、“]”、単価記号 “@”、感嘆符 “!”、ドル記号・ペソ記号 “$”、アンパサンド “ ”、アポストロフィー・シングルクオート “ ”、丸括弧 “(”、“)”、アスタリスク “*”、正符号・加算記号 “+”、コンマ “,”、セミコロン “;”、等号 “=” name=%E8%8F%85%E7%9B%B4%E4%BA%BA UTF-8で、%E8%8F%85:菅, %E7%9B%B4 直, %E4%BA%BA 人 x-www-form-urlencoded(URLエンコード) POSTのフォームデータをエンコードする。%を付加する方式は、パーセントエンコーディングと同じ。パーセントエンコーディングの予約文字も変換している スペースは"+"に変換。Javaのソースを見ると、英数字、"-","_", ".","*"以外を変換する BASE64 Wikipediaより データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式 7ビットのデータしか扱うことの出来ない電子メールにて広く利用されている A–Z, a–z, 0–9 までの62文字と、記号2つ (+ , /) 、さらにパディング(余った部分を詰める)のための記号として = が用いられる 76文字ごとに改行コードが入る Cookie Wikipediaより クッキーを設定する際、どの要求に対してクッキー情報を送り返すのか、URLの範囲を指定する。 規定値は、クッキーを設定したサーバに対するすべての要求であり、対象を広げることも狭めることもできる。ただし広げる場合でも、トップレベルドメインより狭い範囲でなければならない。 またクッキーの有効期限は、通常はブラウザを終了するまでだが、指定した期限まではブラウザを再度起動しても保持されるように設定することができる。有効期限の情報も、サーバからブラウザにクッキー情報を送信する段階で付加される。 無期限という設定は出来ない。 詳細: http //www.studyinghttp.net/cookies リクエスト 全てテキスト。行(CRLF)で区切られる。 フォーマット リクエストラインは1行。ヘッダは複数行。 大項目 小項目 説明 リクエストライン メソッド GET,POST,PUTなどのどれか。 リクエストURL リクエストを処理するURI プロトコルバージョン HTTPのバージョン。【例】HTTP/1.1 ヘッダ HOST リクエスト先のホスト名。必須項目 空行 POSTのときにヘッダの終了を示すために挿入される メッセージボディ POSTのときにリクエストデータを出力する 【例】 GET http //example.jp/31/31-001.php HTTP/1.1 リクエストライン Host example.jp --+ User-Agent Mozilla/5.0 (Windows NT 5.1; rv 2.0.1) Gecko/20100101 Firefox/4.0.1 | Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +-- ヘッダ Accept-Language ja,en-us;q=0.7,en;q=0.3 | Accept-Encoding gzip, deflate | Accept-Charset Shift_JIS,utf-8;q=0.7,*;q=0.7 | Keep-Alive 115 | Connection keep-alive | Referer http //example.jp/31/ --+ Accept-CharsetでShift-JISの品質係数が1であるため、サーバは、Shift-JISでエンコードしたメッセージを返す。 POST http //example.jp/31/31-003.php HTTP/1.1 リクエストライン Accept image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/vnd.ms-excel ヘッダ Referer http //example.jp/31/31-002.php Accept-Language ja User-Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Inf oPath.1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Content-Type application/x-www-form-urlencoded Accept-Encoding gzip, deflate Host example.jp Content-Length 65 Connection Keep-Alive Pragma no-cache name=%E8%8F%85%E7%9B%B4%E4%BA%BA mail=kan@aaa.jp gender=%E7%94%B7 メッセージボディ Hostヘッダ HTTP1.1では必須。POST/GETでのURIにHOSTを指定していなかった場合、Virtualホストを特定できない。そのためHostヘッダにHOST名を指定する。URIにホスト名があって、Hostヘッダにもホスト名がある場合はURIを優先する。URIにホスト名を指定することを強制すれば良いような気がするが。 Referer ヘッダの一種。リンク元のURLを示す。あるWebページのリンクをクリックして別のページに移動したときの、リンク元のページのこと。 改変、削除される場合があるので正しくリンクを示しているとは限らない。 セキュリティ上、問題となるのは、URLが秘密情報を含んでいる場合。たとえば、URLがセッションIDを含んでいる場合。なりすましに使われる可能性がある。 【例】 GET http //example.jp/31/31-002.php HTTP/1.1 Accept image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, appl ication/msword, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms -xpsdocument, application/xaml+xml, */* Referer http //example.jp/31/ Accept-Language ja User-Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Inf oPath.1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Accept-Encoding gzip, deflate Host example.jp Connection Keep-Alive http //example.jp/31/のHTMLのaタグからリクエストが発生したため、Refererヘッダがつく。 レスポンス 全てテキスト。行で区切られる。 フォーマット ステータスラインは1行。ヘッダ、ボディは複数行。 大項目 小項目 説明 ステータスライン プロトコルバージョン ステータスコード 1XX 処理継続、2XX 正常終了、3XX リダイレクト、4XX クライアントエラー、5XX サーバエラー テキストフレーズ レスポンスヘッダ Content-Length ボディのバイト数 Content-Type MIMEタイプ; charset=エンコーディング 空行 ヘッダの終わりを示す ボディ 【例】 HTTP/1.1 200 OK Date Wed, 04 May 2011 04 51 51 GMT Server Apache/2.2.14 (Ubuntu) X-Powered-By PHP/5.3.2-1ubuntu4.2 Vary Accept-Encoding Content-Length 20 Keep-Alive timeout=15, max=100 Connection Keep-Alive Content-Type text/html; charset=UTF-8 body 13 51 /body Content-type メディアタイプを示すエンティティヘッダ(メッセージボディに対する付随情報)。type "/" subtype *( ";" parameter )であらわされる。text/html; charset=utf-8など。charsetを追加すると出力の文字コードを示す。HTML文書にapplication/octet-streamを付けると、 多くの場合、Webブラウザはそれをダウンロードするか否か問い合わせるようになる。 Apacheの場合は、httpd.confの以下の設定でcharsetを指定する。 AddDefaultCharset UTF-8 Tomcatでは、JSPのpageディレクティブで設定する。 %@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" % http //www.atmarkit.co.jp/fjava/rensai3/mojibake01/mojibake01.html 参照
https://w.atwiki.jp/yakotest65/pages/68.html
nicovideo(http //www.nicovideo.jp/watch/sm27965309) 1 nicovideo(sm20287005) 2 nicovideo(sm10037931){500,300} 3 nicovideo(http //www.nicovideo.jp/watch/sm20286793) 4 nicovideo(http //www.nicovideo.jp/watch/sm20286793) 5 nicovideo_mylist(3291521) 1 nicovideo_mylist(3291521) 2 http //www.nicovideo.jp/mylist/3291521 nicovideo_com(co3022304) 1 nicovideo_com(http //com.nicovideo.jp/community/co3080534) 2 nicovideo_com( iframe width="312" height="176" src="http //com.nicovideo.jp/thumb_community/co3089351" scrolling="no" style="border solid 1px #CCC;" frameborder="0" a href="http //com.nicovideo.jp/community/co3089351" 【ニコニコ動画】☆ネギミク☆ちゃんねる放送局 /a /iframe ) 3 nicovideo_com(co3022304) 4 nicovideo_com(co3022304) 5 http //com.nicovideo.jp/community/co3022304 nicovideo2(http //www.nicovideo.jp/watch/sm27965309) 1 http //www.nicovideo.jp/watch/sm27965309 a
https://w.atwiki.jp/cheapugg058/pages/18.html
Not only is Jay Cutler their quarterback and Brandon Marshall their receiver, both former teammates in Denver, but Jeremy Bates is the quarterbacks coach The special programming that Siruis and XM carry is the deciding factor of which service to choose for many peoplereply span {background-position 0px 3px;} pIf they truly are the type of team that has the potential to dominate with their defense, then lower totals will define them as such Unlike the Shot Gun where the quarterback lines up seven or more yards deep, in the Pistol Offense the quarterback lines up three to five yards behind center with the running back a yard or so behind him north face outlet store They had a national championship stripped from them and Reggie Bush had to return his Heisman trophy Of course, as a creative genius and general nutcase, Lil Wayne does things a little differently than you or I But, chips and colas have become a snack food of the past Miami Dolphins The Chargers continue to play down to the level of their opponents this season and so I am leery of laying this much with them Implicitly under the Sarbanes Oxley Act, they are agreeing that they re responsible for establishing and maintaining internal controls, and that they have ensured that all of a company s material information necessary for investors to make intelligent decisions is made known by internal procedures of the company After this, you have to select a football game that you want updates on (September 12, 2005)twitterditto225256953830580224 a { color #0F010F; } divtimestamp a span {display inline-block;width 16px;background-image url(http //images Not particularly big or incredibly strong armed, he got the job done using his mind and ability to prolong plays to lead his teams to frequent victories At this time I do not have the information on Scotts birth order but do know he has a brother David that is a photographer Still, I listened to other player s opinions and read some reviews of the pool cue brand I thought I wantedPrior to my contacting you, I confirmed a couple of facts about Leo Wanta/$27 Ray Rice Jersey Dish Network wants it s customers to get the most out of their service by making available theit DishHome - channel 100" - Howard Thompson, The New York Times (2/19/59) On DVD Not commercially available Half sheet movie poster style B Mickey Rooney in The Last Mile (1959) Midnight Express (Columbia, 1978)Brad Davis plays young American Billy Hayes, who draws a long sentence in a Turkish prison after being convicted of smuggling hashish author img {float left; margin 0px 7px 0px 0px;} p which are not desired at alldittoTweet spantwitter-inner-ditto226493158538760192 div But with continued use for a month or so, you will notice significant weight reduction and you will be just steps away from the physique you have always wanted The tower’s stepping is functional, helping separate these sections When I was considering buying my second cue, however, I had a pretty good idea of what I wanted of Revenue---Tax Appeals Commission It is free Wes Welker Jersey to join and you can make money online as soon as you sign-up Think about how your child was in the beginning of the year and how much transformation you can see in her behavior as well as her personalityand may you and Mr And, if I was kicked off the high school team, I would not be able to play college football, and college football is a requirement for becoming a pro player This saves the family on their communication budget moneyditto191956361989468160{background #8D49BD url(http //a0twitter-inner-ditto243429190748233728 span Goff’s assertions have not gone over well, to say the least, and the article is garnering hundreds of comments–several have come in just while this article was being written This obviously does not remain a secret for too long, as the remainder of the film chronicles Carnegie s violent chase of Eli and his BibleAnother set of emails, which even appear to include a veiled death threat to the Arctic Beacon editor, has been determined and verified to a high degree to be from the illegitimate camp, fronting for Bush SrdittoTweet spanThat s rightThe front office still has work to do during the free agent signing period and adding another wide receiver would allow the team to address bigger needs through the draftFounded in 1920, eleven teams of American Professional Football Association, the League National Football League changes its name to the 1922nd NFL preseason games, live stream Cottrell,Patrick Willis Jersey treasurer of AmeriTrust, there are at least two other trusts or groups like Wanta s seeking money that are legitimate, and at least two others of known record fraudulently posing as legitimate but actually "fronting" for Bush or Bush Sr A pulsating current is set off by a timer current which is released along the wire at regular intervalsfavorite hover span {background-position -48px 2px;}spanfavorite hover span {background-position -48px 2px;}@VocalLizzyVocalLizzy@adamlevine if u can handle all your ink, you can deal with a busted lip That s not to say this isn t a great film Although the most common form of cooking for these parties is grilling, some people have been known to bring smokers and deep fryers as wellat-name a hover {color #999;text-decoration none;font-size 14px;font-weight normal;}dittoTweet {background #fff;padding 10px 12px 10px 50px;margin 0;min-height 48px;color #000;font-size 22px !important;font-family Georgia, "Times New Roman", Times, serif;line-height 30px;-moz-border-radius 5px;-webkit-border-radius 5px;}span What is your mission in life? What is your vision for the next five years? If your answer is, "I don t know," please take some time to answer these questionsmetadata {display block;width 100%;clear both;margin-top 8px;padding 12px 0px;height 65px;}span Unlike most other reduce weight supplements, these natural ingredients are blended into 400-mg caplets which you only have to take once a day -Wikipedia New England was playing at home, ready for revenge for their playoff loss last season, and won the game by being able to adapt to what the New York defense was doing The lion dance is a form of traditional dance in Chinese culture in which performers mimic a lion s movements in a lion costume, often with musical accompaniment from cymbals, drums and gongs The term inlay refers to materials embedded into either the forearm or butt sleeve At the end of the day, statistics say that if the salary of the quarterback is deducted from the overall money spent on the offense and then it s compared with the defense, it amounts to less However, their verdict was overruled by the judge who stated that there was insufficient evidence to prove the case against the supervisor that an adverse reaction had been carried out for reasons of discrimination or retaliationAaron Hernandez Jersey for the sexual orientation of the plaintiff Moreover, the company raised its 2012 revenue guidance and the lower end of the earnings guidance I cannot afford a lot "Lies Lies Lies Lies On the strength of his imposing physical stature and his impressive athletic abilities, a Christian private school coach convinces his administration to enroll "Big Mike of Health) is also implicated in this story83% compared with 2% in the prior-year quarter
https://w.atwiki.jp/yoshida2/pages/115.html
telnetでブラウズ(HTTP) このページでは、インターネットでホームページなどをブラウジングするときに利用するHTTPプロトコルについて説明しています。 概要 HTTPプロトコルとは、Hypertext Transfer Protocolの略で、インターネットでホームページなどをブラウジングするときに利用しているプロトコルです。 HTTPプロトコルは、TCP/IP上のプロトコルで、通常80番ポートを使ってアクセスします。 詳細な定義は、以下のRFCで定義されています。 RFC-1945 HTTP/1.0 RFC-2068 HTTP/1.1 基本的に、メッセージを要求(リクエスト)し、その応答結果(レスポンス)を表示するだけです。 HTTPのアクセスログ ApacheなどのWebサーバのログを見ると、リクエストとレスポンスが、以下の形式で出力されます。 アクセスログの書式 アクセス元 - - [アクセス時間] メソッド名 URL名 プロトコルバージョン レスポンスコード 例: 10.0.1.20 - - [01/Jul/1999 23 22 46 +0900] GET /usr/joe/index.html HTTP/1.0 200 2060 メソッドの種類には、GETやPOSTなどがあります。 GETメソッドは、HTMLデータや画像データなどを取得する場合に使用します。 GETメソッドで要求すると、ヘッダ情報とHTMLデータが返却されます。 GETメソッドでCGIを呼び出すこともできます。 パラメータを渡す場合は、URLの後に ?name1=データ1 name2=データ2 という形式で指定します。 HEADメソッドは、ファイルサイズや更新日時を調べる場合に利用します。 HEADメソッドを利用すると、ヘッダ情報だけが返却されます。 POSTメソッドは、CGIなどにデータを渡す場合に使用します。 パラメータなどのデータは、環境変数などによって、CGIに渡ります。 以下に、HTTPのバージョンとメソッドの種類を示します。 メソッドの種類 HTTP/1.0 GET, HEAD, PUT, POST, DELETE, LINK, UNLINK HTTP/1.1 OPTIONS, TRACE, PATCH 以下に、レスポンスコードの一覧を示します。 100番台は通信エラー、200番台は正常終了、300番台はリダイレクト、400番台はクライアントエラー、500番台はサーバエラーを表しています。 リダイレクトとは、クライアントの指定したURLに移動した場合などに返却されます。 レスポンスコード コード 内容 コード 内容 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 303 See Other 304 Not Modified 305 Use Proxy 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Time-out 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request-URI Too Large 415 Unsupported Media Type 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Time-out 505 HTTP Version not supported レスポンスコードは、ログファイルなどに出力されますので、知っていると役に立つと思います。 telnetでブラウジング では、実際にtelnetでブラウジングしてみましょう。 telnetコマンドで、WWWサーバ名と、80番ポートを指定します。 Linux# telnet ash.jp 80 そこで、環境変数をすべて表示するCGI(env.cgi)を起動してみます。 まず、GETコマンドで、取得したいURLと、HTTPのバージョンを指定します。 GET /~joe/prog/cgi/env01.cgi HTTP/1.0 ここで、リターンのみを入力しても表示されますが、以下のオプションも入力してみます。 指定したオプションは、環境変数としてCGIに渡ります。 User-Agent Telnet [ja] (Linux) Host www.ash.jp リターンのみを入力すると、レスポンスと、HTMLが表示されます。 当然、HTMLのソースが表示されるだけですから、頭の中でHTMLを解析し画面イメージを想像する必要があります。 以下に実行結果を示します。 Linux# telnet ash.jp 80 Trying 210.154.87.18... Connected to ash.jp. Escape character is ^] . GET /~joe/prog/cgi/env01.cgi HTTP/1.0 User-Agent Telnet [ja] (Linux) Host ash.jp HTTP/1.1 200 OK DeleGate-Ver 5.8.8 (delay=7) Date Fri, 02 Jul 1999 09 56 24 GMT Server Apache/1.3.3 (Unix) Content-Type text/html Via 1.0 210.154.87.18 80 (DeleGate/5.8.8) Content-Length 954 html body h1 CGIでの環境変数一覧 /h1 hr h3 環境変数の表示 /h3 DOCUMENT_ROOT = /usr/local/share/apache/htm br GATEWAY_INTERFACE = CGI/1.1 br HTTP_FORWARDED = by http //210.154.87.18 80/ (DeleGate/5.8.8) for sv01.lo.ash.or .jp br HTTP_HOST = ash.jp br HTTP_USER_AGENT = Telnet [ja] (Linux) br HTTP_VIA = 1.0 210.154.87.18 80 (DeleGate/5.8.8) br PATH = /usr/local/sbin /usr/local/bin /sbin /usr/sbin /bin /usr/bin br QUERY_STRING = br REMOTE_ADDR = 10.0.1.254 br REMOTE_PORT = 12621 br REQUEST_METHOD = GET br REQUEST_URI = /~joe/prog/cgi/env01.cgi br SCRIPT_FILENAME = /home/joe/public_html/prog/cgi/env01.cgi br SCRIPT_NAME = /~joe/prog/cgi/env01.cgi br SERVER_ADMIN = info@ash.jp br SERVER_NAME = ash.jp br SERVER_PORT = 80 br SERVER_PROTOCOL = HTTP/1.0 br SERVER_SIGNATURE = ADDRESS Apache/1.3.3 Server at ash.jp Port 80 /ADDRESS br SERVER_SOFTWARE = Apache/1.3.3 (Unix) br hr br このCGIのソース: a href=env01.txt env01.cgi /a br /body /html Connection closed by foreign host. 最初の、HTTP/1.1 200 OKは、HTTPプロトコルで、正常に転送したことを表します。 その後にヘッダ情報が転送され、最後にHTMLのソースが転送されます。 環境変数として、以下の値が追加設定されているのが確認できます。 HTTP_HOST = ash.jp HTTP_USER_AGENT = Telnet [ja] (Linux) このように、HTTPプロトコルは、要求(リクエスト)に対して、応答(レスポンス)が返却されるだけのシンプルなプロトコルです。 余談ですが、HTTPプロトコルという呼び方は、Hyper Text Transfer Protocol プロトコルになって、プロトコルが2重になってしまい、おかしいです。 でも、この方がわかりやすいので、私はよく使います。